home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 January: Mac OS SDK / Dev.CD Jan 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / PInterfaces / Lists.p < prev    next >
Encoding:
Text File  |  1997-08-12  |  9.3 KB  |  297 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Lists.p
  3.  
  4.      Contains:    List Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0.1
  8.  
  9.      Copyright:    © 1985-1997 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT Lists;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __LISTS__}
  28. {$SETC __LISTS__ := 1}
  29.  
  30. {$I+}
  31. {$SETC ListsIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __TYPES__}
  35. {$I Types.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __CONTROLS__}
  38. {$I Controls.p}
  39. {$ENDC}
  40.  
  41.  
  42. {$PUSH}
  43. {$ALIGN MAC68K}
  44. {$LibExport+}
  45.  
  46.  
  47. TYPE
  48.     Cell                                = Point;
  49.     CellPtr                             = ^Cell;
  50.     ListBounds                            = Rect;
  51.     ListBoundsPtr                         = ^ListBounds;
  52.     DataArray                            = PACKED ARRAY [0..32000] OF CHAR;
  53.     DataPtr                                = ^DataArray;
  54.     DataHandle                            = ^DataPtr;
  55.     ListSearchProcPtr = ProcPtr;  { FUNCTION ListSearch(aPtr: Ptr; bPtr: Ptr; aLen: INTEGER; bLen: INTEGER): INTEGER; }
  56.  
  57.     ListClickLoopProcPtr = Register68kProcPtr;  { FUNCTION ListClickLoop: BOOLEAN; }
  58.  
  59.     ListSearchUPP = UniversalProcPtr;
  60.     ListClickLoopUPP = UniversalProcPtr;
  61.  
  62.  
  63.     ListRecPtr = ^ListRec;
  64.     ListRec = RECORD
  65.         rView:                    Rect;
  66.         port:                    GrafPtr;
  67.         indent:                    Point;
  68.         cellSize:                Point;
  69.         visible:                ListBounds;
  70.         vScroll:                ControlHandle;
  71.         hScroll:                ControlHandle;
  72.         selFlags:                SInt8;
  73.         lActive:                BOOLEAN;
  74.         lReserved:                SInt8;
  75.         listFlags:                SInt8;
  76.         clikTime:                LONGINT;
  77.         clikLoc:                Point;
  78.         mouseLoc:                Point;
  79.         lClickLoop:                ListClickLoopUPP;
  80.         lastClick:                Cell;
  81.         refCon:                    LONGINT;
  82.         listDefProc:            Handle;
  83.         userHandle:                Handle;
  84.         dataBounds:                ListBounds;
  85.         cells:                    DataHandle;
  86.         maxIndex:                INTEGER;
  87.         cellArray:                ARRAY [0..0] OF INTEGER;
  88.     END;
  89.  
  90.     ListPtr                                = ^ListRec;
  91.     ListHandle                            = ^ListPtr;
  92. {  ListRef is obsolete.  Use ListHandle.  }
  93.     ListRef                                = ListHandle;
  94.  
  95.  
  96.  
  97. CONST
  98.     lDoVAutoscroll                = 2;
  99.     lDoHAutoscroll                = 1;
  100.     lOnlyOne                    = -128;
  101.     lExtendDrag                    = 64;
  102.     lNoDisjoint                    = 32;
  103.     lNoExtend                    = 16;
  104.     lNoRect                        = 8;
  105.     lUseSense                    = 4;
  106.     lNoNilHilite                = 2;
  107.  
  108.     lDoVAutoscrollBit            = 1;
  109.     lDoHAutoscrollBit            = 0;
  110.     lOnlyOneBit                    = 7;
  111.     lExtendDragBit                = 6;
  112.     lNoDisjointBit                = 5;
  113.     lNoExtendBit                = 4;
  114.     lNoRectBit                    = 3;
  115.     lUseSenseBit                = 2;
  116.     lNoNilHiliteBit                = 1;
  117.  
  118.  
  119.     lInitMsg                    = 0;
  120.     lDrawMsg                    = 1;
  121.     lHiliteMsg                    = 2;
  122.     lCloseMsg                    = 3;
  123.  
  124.  
  125.  
  126. TYPE
  127.     ListDefProcPtr = ProcPtr;  { PROCEDURE ListDef(lMessage: INTEGER; lSelect: BOOLEAN; VAR lRect: Rect; lCell: Cell; lDataOffset: INTEGER; lDataLen: INTEGER; lHandle: ListHandle); }
  128.  
  129.     ListDefUPP = UniversalProcPtr;
  130.  
  131. CONST
  132.     uppListSearchProcInfo = $00002BE0;
  133.     uppListClickLoopProcInfo = $00000012;
  134.     uppListDefProcInfo = $000EBD80;
  135.  
  136. FUNCTION NewListSearchProc(userRoutine: ListSearchProcPtr): ListSearchUPP;
  137.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  138.     INLINE $2E9F;
  139.     {$ENDC}
  140.  
  141. FUNCTION NewListClickLoopProc(userRoutine: ListClickLoopProcPtr): ListClickLoopUPP;
  142.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  143.     INLINE $2E9F;
  144.     {$ENDC}
  145.  
  146. FUNCTION NewListDefProc(userRoutine: ListDefProcPtr): ListDefUPP;
  147.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  148.     INLINE $2E9F;
  149.     {$ENDC}
  150.  
  151. FUNCTION CallListSearchProc(aPtr: Ptr; bPtr: Ptr; aLen: INTEGER; bLen: INTEGER; userRoutine: ListSearchUPP): INTEGER;
  152.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  153.     INLINE $205F, $4E90;
  154.     {$ENDC}
  155.  
  156. FUNCTION CallListClickLoopProc(userRoutine: ListClickLoopUPP): BOOLEAN;
  157.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  158.     {To be implemented:  Glue to move parameters into registers.}
  159.     {$ENDC}
  160.  
  161. PROCEDURE CallListDefProc(lMessage: INTEGER; lSelect: BOOLEAN; VAR lRect: Rect; lCell: Cell; lDataOffset: INTEGER; lDataLen: INTEGER; lHandle: ListHandle; userRoutine: ListDefUPP);
  162.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  163.     INLINE $205F, $4E90;
  164.     {$ENDC}
  165.  
  166.  
  167.  
  168.  
  169. FUNCTION LNew({CONST}VAR rView: Rect; {CONST}VAR dataBounds: ListBounds; cSize: Point; theProc: INTEGER; theWindow: WindowPtr; drawIt: BOOLEAN; hasGrow: BOOLEAN; scrollHoriz: BOOLEAN; scrollVert: BOOLEAN): ListHandle;
  170.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  171.     INLINE $3F3C, $0044, $A9E7;
  172.     {$ENDC}
  173. PROCEDURE LDispose(lHandle: ListHandle);
  174.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  175.     INLINE $3F3C, $0028, $A9E7;
  176.     {$ENDC}
  177. FUNCTION LAddColumn(count: INTEGER; colNum: INTEGER; lHandle: ListHandle): INTEGER;
  178.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  179.     INLINE $3F3C, $0004, $A9E7;
  180.     {$ENDC}
  181. FUNCTION LAddRow(count: INTEGER; rowNum: INTEGER; lHandle: ListHandle): INTEGER;
  182.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  183.     INLINE $3F3C, $0008, $A9E7;
  184.     {$ENDC}
  185. PROCEDURE LDelColumn(count: INTEGER; colNum: INTEGER; lHandle: ListHandle);
  186.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  187.     INLINE $3F3C, $0020, $A9E7;
  188.     {$ENDC}
  189. PROCEDURE LDelRow(count: INTEGER; rowNum: INTEGER; lHandle: ListHandle);
  190.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  191.     INLINE $3F3C, $0024, $A9E7;
  192.     {$ENDC}
  193. FUNCTION LGetSelect(next: BOOLEAN; VAR theCell: Cell; lHandle: ListHandle): BOOLEAN;
  194.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  195.     INLINE $3F3C, $003C, $A9E7;
  196.     {$ENDC}
  197. FUNCTION LLastClick(lHandle: ListHandle): Cell;
  198.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  199.     INLINE $3F3C, $0040, $A9E7;
  200.     {$ENDC}
  201. FUNCTION LNextCell(hNext: BOOLEAN; vNext: BOOLEAN; VAR theCell: Cell; lHandle: ListHandle): BOOLEAN;
  202.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  203.     INLINE $3F3C, $0048, $A9E7;
  204.     {$ENDC}
  205. FUNCTION LSearch(dataPtr: UNIV Ptr; dataLen: INTEGER; searchProc: ListSearchUPP; VAR theCell: Cell; lHandle: ListHandle): BOOLEAN;
  206.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  207.     INLINE $3F3C, $0054, $A9E7;
  208.     {$ENDC}
  209. PROCEDURE LSize(listWidth: INTEGER; listHeight: INTEGER; lHandle: ListHandle);
  210.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  211.     INLINE $3F3C, $0060, $A9E7;
  212.     {$ENDC}
  213. PROCEDURE LSetDrawingMode(drawIt: BOOLEAN; lHandle: ListHandle);
  214.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  215.     INLINE $3F3C, $002C, $A9E7;
  216.     {$ENDC}
  217. PROCEDURE LScroll(dCols: INTEGER; dRows: INTEGER; lHandle: ListHandle);
  218.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  219.     INLINE $3F3C, $0050, $A9E7;
  220.     {$ENDC}
  221. PROCEDURE LAutoScroll(lHandle: ListHandle);
  222.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  223.     INLINE $3F3C, $0010, $A9E7;
  224.     {$ENDC}
  225. PROCEDURE LUpdate(theRgn: RgnHandle; lHandle: ListHandle);
  226.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  227.     INLINE $3F3C, $0064, $A9E7;
  228.     {$ENDC}
  229. PROCEDURE LActivate(act: BOOLEAN; lHandle: ListHandle);
  230.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  231.     INLINE $4267, $A9E7;
  232.     {$ENDC}
  233. PROCEDURE LCellSize(cSize: Point; lHandle: ListHandle);
  234.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  235.     INLINE $3F3C, $0014, $A9E7;
  236.     {$ENDC}
  237. FUNCTION LClick(pt: Point; modifiers: INTEGER; lHandle: ListHandle): BOOLEAN;
  238.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  239.     INLINE $3F3C, $0018, $A9E7;
  240.     {$ENDC}
  241. PROCEDURE LAddToCell(dataPtr: UNIV Ptr; dataLen: INTEGER; theCell: Cell; lHandle: ListHandle);
  242.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  243.     INLINE $3F3C, $000C, $A9E7;
  244.     {$ENDC}
  245. PROCEDURE LClrCell(theCell: Cell; lHandle: ListHandle);
  246.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  247.     INLINE $3F3C, $001C, $A9E7;
  248.     {$ENDC}
  249. PROCEDURE LGetCell(dataPtr: UNIV Ptr; VAR dataLen: INTEGER; theCell: Cell; lHandle: ListHandle);
  250.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  251.     INLINE $3F3C, $0038, $A9E7;
  252.     {$ENDC}
  253. PROCEDURE LRect(VAR cellRect: Rect; theCell: Cell; lHandle: ListHandle);
  254.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  255.     INLINE $3F3C, $004C, $A9E7;
  256.     {$ENDC}
  257. PROCEDURE LSetCell(dataPtr: UNIV Ptr; dataLen: INTEGER; theCell: Cell; lHandle: ListHandle);
  258.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  259.     INLINE $3F3C, $0058, $A9E7;
  260.     {$ENDC}
  261. PROCEDURE LSetSelect(setIt: BOOLEAN; theCell: Cell; lHandle: ListHandle);
  262.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  263.     INLINE $3F3C, $005C, $A9E7;
  264.     {$ENDC}
  265. PROCEDURE LDraw(theCell: Cell; lHandle: ListHandle);
  266.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  267.     INLINE $3F3C, $0030, $A9E7;
  268.     {$ENDC}
  269.  
  270. PROCEDURE LGetCellDataLocation(VAR offset: INTEGER; VAR len: INTEGER; theCell: Cell; lHandle: ListHandle);
  271.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  272.     INLINE $3F3C, $0034, $A9E7;
  273.     {$ENDC}
  274.  
  275. {$IFC OLDROUTINENAMES }
  276. PROCEDURE LDoDraw(drawIt: BOOLEAN; lHandle: ListHandle);
  277.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  278.     INLINE $3F3C, $002C, $A9E7;
  279.     {$ENDC}
  280. PROCEDURE LFind(VAR offset: INTEGER; VAR len: INTEGER; theCell: Cell; lHandle: ListHandle);
  281.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  282.     INLINE $3F3C, $0034, $A9E7;
  283.     {$ENDC}
  284. {$ENDC}  {OLDROUTINENAMES}
  285.  
  286.  
  287. {$ALIGN RESET}
  288. {$POP}
  289.  
  290. {$SETC UsingIncludes := ListsIncludes}
  291.  
  292. {$ENDC} {__LISTS__}
  293.  
  294. {$IFC NOT UsingIncludes}
  295.  END.
  296. {$ENDC}
  297.